# AchievementManager.incrementAchievement(Object option)
以 Promise 风格调用:不支持
# 功能描述
增加指定成就的进度。适用于需要累计完成多个步骤才能解锁的成就。当进度达到成就设定的目标值时,成就将自动解锁。
# 参数
# Object option
属性 | 类型 | 默认值 | 必填 | 说明 |
achievementId | string | 是 | 要增加进度的成就ID | |
steps | number | 是 | 要增加的步数 |
# 注意事项
- 成就ID必须是在TapTap开发者平台配置为进度型成就的有效ID
- steps 必须为正整数
- 如果成就已经解锁,调用此方法不会有任何效果
- 进度会自动累加,无需记录当前进度
- 当累计进度达到成就目标值时,成就会自动解锁
# 示例代码
const achievementManager = tap.createAchievementManager({
toastEnable: true
});
// 注册监听器以接收进度更新结果
achievementManager.registerListener({
onAchievementSuccess: (code, achievement) => {
console.log('成就进度更新成功!');
console.log('成就名称:', achievement.achievementName);
if (achievement.currentStep !== undefined) {
console.log('当前进度:', achievement.currentStep);
}
},
onAchievementFailure: (id, code, msg) => {
console.error('成就进度更新失败:', msg);
}
});
// 增加成就进度
// 例如:玩家完成了一场比赛,"完成100场比赛"成就进度+1
achievementManager.incrementAchievement({
achievementId: 'play_100_games',
steps: 1
});
// 批量增加进度
// 例如:玩家一次性收集了5个道具
achievementManager.incrementAchievement({
achievementId: 'collect_50_items',
steps: 5
});